﻿<%@ Page Title="Quản lí lương nhân  viên" Language="C#" MasterPageFile="~/Views/MasterPageViews.master" AutoEventWireup="true" CodeFile="EmployeesSalaries.aspx.cs" Inherits="Views_EmployeesSalaries" %>

<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolderChange" runat="Server">
    <ext:Panel
        runat="server"
        ID="Panel1"
        Title="Thông tin cán bộ nhân viên"
        Icon="ApplicationXpTerminal"
        BodyStyle="background-image: url('../Themes/bg-main.png')">
        <Items>
            <ext:Toolbar ID="Toolbar1" runat="server">
                <Items>
                    <ext:Button ID="ToolbarShowAdd" Disabled="true" runat="server" Text="Thêm mới bậc lương cho nhân viên" Icon="Add" OnDirectClick="ToolbarShowAdd_DirectClick">
                        <Listeners>
                            <Click Handler="#{FormPanelAddEmpSalary}.getForm().reset();" />
                        </Listeners>
                    </ext:Button>
                </Items>
            </ext:Toolbar>

            <ext:FieldSet ID="FieldSetProfiles" runat="server" Title="Tìm kiếm cán bộ nhân viên cần xem và cập nhật thông tin [Nơi làm việc hiện tại]" Margin="5">
                <Items>
                    <%-- Bind dữ liệu tỉnh thành --%>

                    <ext:SelectBox
                        DisplayField="NameOfProvince"
                        ValueField="ProvID"
                        ID="cbxAddManaProvince"
                        runat="server"
                        MarginSpec="10 0 0 0"
                        FieldLabel="Tỉnh thành"
                        EmptyText="Lựa chọn"
                        Width="300">
                        <Store>
                            <ext:Store runat="server" ID="StorecbxAddManaProvince">
                                <Model>
                                    <ext:Model ID="ModelStoreProvinces" runat="server">
                                        <Fields>
                                            <ext:ModelField Name="ProvID" />
                                            <ext:ModelField Name="NameOfProvince" />
                                        </Fields>
                                    </ext:Model>
                                </Model>
                            </ext:Store>
                        </Store>
                        <Listeners>
                            <Select Handler="{App.direct.cbxAddManaProvince_SelectedChange();}" />
                        </Listeners>
                    </ext:SelectBox>

                    <%-- Lựa chọn quận huyện --%>
                    <ext:SelectBox
                        DisplayField="NameOfDist"
                        ValueField="DistID"
                        ID="cbxAddManaDistrict"
                        runat="server"
                        FieldLabel="Quận huyện"
                        EmptyText="Lựa chọn"
                        Width="300"
                        MarginSpec="5 0 0 0">
                        <Store>
                            <ext:Store runat="server" ID="StoreViewDistrictByProvinces">
                                <Model>
                                    <ext:Model ID="ModelDistrictByProvinces" runat="server">
                                        <Fields>
                                            <ext:ModelField Name="DistID" />
                                            <ext:ModelField Name="NameOfDist" />
                                        </Fields>
                                    </ext:Model>
                                </Model>
                            </ext:Store>
                        </Store>
                        <Listeners>
                            <Select Handler="{App.direct.cbxAddManaDistrict_SelectedChange();}" />
                        </Listeners>
                    </ext:SelectBox>

                    <%-- Lựa chọn Xã phường --%>
                    <ext:SelectBox
                        DisplayField="NameOfComm"
                        ValueField="ComID"
                        ID="cbxAddManaCommune"
                        runat="server"
                        FieldLabel="Phường xã"
                        EmptyText="Lựa chọn"
                        Width="300"
                        MarginSpec="5 0 0 0">
                        <Store>
                            <ext:Store ID="StoreAddManaCommune" runat="server">
                                <Model>
                                    <ext:Model ID="ModelAddManaCommune" runat="server">
                                        <Fields>
                                            <ext:ModelField Name="ComID" />
                                            <ext:ModelField Name="NameOfComm" />
                                        </Fields>
                                    </ext:Model>
                                </Model>
                            </ext:Store>
                        </Store>
                        <%-- Gọi sự kiện [DirectMethod] cbxAddManaCommune_SelectedChange() khi thay đổi giá trị cbxAddManaCommune --%>
                        <Listeners>
                            <Select Handler="App.direct.cbxAddManaCommune_SelectedChange();" />
                        </Listeners>
                    </ext:SelectBox>

                    <%-- Lựa chọn Cơ quan, tổ chức --%>
                    <ext:SelectBox
                        DisplayField="NameOfOrgan"
                        ValueField="OrgID"
                        ID="cbxAddManaOrganization"
                        runat="server"
                        FieldLabel="Cơ quan"
                        EmptyText="Lựa chọn"
                        Width="300"
                        MarginSpec="5 0 0 0">
                        <Store>
                            <ext:Store ID="StoreAddManaOrganization" runat="server">
                                <Model>
                                    <ext:Model ID="ModelAddManaOrganization" runat="server">
                                        <Fields>
                                            <ext:ModelField Name="OrgID" />
                                            <ext:ModelField Name="NameOfOrgan" />
                                        </Fields>
                                    </ext:Model>
                                </Model>
                            </ext:Store>
                        </Store>
                        <%-- Gọi sự kiện [DirectMethod] cbxAddManaOrganization_SelectedChange() khi thay đổi giá trị cbxAddManaOrganization --%>
                        <Listeners>
                            <Select Handler="App.direct.cbxAddManaOrganization_SelectedChange();" />
                        </Listeners>
                    </ext:SelectBox>

                    <%-- Lựa chọn Phòng ban --%>
                    <ext:SelectBox
                        DisplayField="NameOfDep"
                        ValueField="DepID"
                        ID="cbxAddManaDepartment"
                        runat="server"
                        FieldLabel="Phòng ban"
                        EmptyText="Lựa chọn"
                        Width="300"
                        MarginSpec="5 0 0 0">
                        <Store>
                            <ext:Store ID="StoreAddManaDepartment" runat="server">
                                <Model>
                                    <ext:Model ID="ModelAddManaDepartment" runat="server">
                                        <Fields>
                                            <ext:ModelField Name="DepID" />
                                            <ext:ModelField Name="NameOfDep" />
                                        </Fields>
                                    </ext:Model>
                                </Model>
                            </ext:Store>
                        </Store>
                        <%-- Gọi sự kiện [DirectMethod] cbxAddManaDepartment_SelectedChange() khi thay đổi giá trị cbxAddManaDepartment --%>
                        <Listeners>
                            <Select Handler="App.direct.cbxAddManaDepartment_SelectedChange();" />
                        </Listeners>
                    </ext:SelectBox>

                    <%-- Lựa chọn Cán bộ nhân viên --%>
                    <ext:SelectBox
                        ID="cbxUpdateForEmpProfiles"
                        runat="server"
                        FieldLabel="Nhân viên"
                        EmptyText="Lựa chọn"
                        Width="300"
                        MarginSpec="5 0 0 0"
                        DisplayField="FirstName"
                        ValueField="EmpID">
                        <Store>
                            <ext:Store ID="StorecbxUpdateForEmpProfiles" runat="server">
                                <Model>
                                    <ext:Model ID="ModelcbxUpdateForEmpProfiles" runat="server">
                                        <Fields>
                                            <ext:ModelField Name="EmpID" />
                                            <ext:ModelField Name="Code" />
                                            <ext:ModelField Name="FirstName" />
                                            <ext:ModelField Name="LastName" />
                                            <ext:ModelField Name="Gender" />
                                            <ext:ModelField Name="Telephone" />
                                            <ext:ModelField Name="AvatarUrl" />
                                        </Fields>
                                    </ext:Model>
                                </Model>
                            </ext:Store>
                        </Store>
                        <ListConfig>
                            <ItemTpl ID="ItemFullname" runat="server">
                                <Html>
                                    <div>
							            <h3>{FirstName}&nbsp;{LastName}</h3>
							            <div style="padding: 3px 3px 3px 0px;">
                                            Mã: {Code}<br />ĐT: {Telephone}<br />
                                            <img src="Avatars/{AvatarUrl}" alt="Hình ảnh đại diện" style="width: 80px; height: 100px; margin-top: 5px;" />
							            </div>
						            </div>
                                </Html>
                            </ItemTpl>
                        </ListConfig>
                        <Listeners>
                            <Select Handler="{App.direct.cbxUpdateForEmpProfiles_SelectedChange();}" />
                        </Listeners>
                    </ext:SelectBox>
                </Items>
            </ext:FieldSet>






            <%-- Gird Panel lưu thông tin các bậc lương của nhân viên --%>
            <ext:GridPanel
                ID="GridPanelEmpSalary"
                runat="server"
                Title="Danh sách bậc lương của nhân viên"
                Height="510"
                Split="true"
                BodyStyle="background-image: url('../Themes/bg-main.png')">
                <Store>
                    <ext:Store
                        ID="StoreEmpSalary"
                        runat="server"
                        PageSize="10"
                        OnReadData="StoreEmpSalary_ReadData">
                        <Model>
                            <ext:Model ID="ModelEmpSalary" runat="server" IDProperty="EmpSalaryID">
                                <Fields>
                                    <ext:ModelField Name="EmpSalaryID" />
                                    <ext:ModelField Name="NameOfSalary" />
                                    <ext:ModelField Name="Code_Salary" />
                                    <ext:ModelField Name="LevelSalary" />
                                    <ext:ModelField Name="NumberSalary" />
                                    <ext:ModelField Name="CodeEmpChangeWork" />
                                    <ext:ModelField Name="AllowancesPostion" />
                                    <ext:ModelField Name="AllowancesOther" />
                                    <ext:ModelField Name="StartOfSalary" Type="Date" />
                                    <ext:ModelField Name="EndOfWork" Type="Date" />
                                    <ext:ModelField Name="AvatarUrl" />
                                </Fields>
                            </ext:Model>
                        </Model>
                        <Sorters>
                            <ext:DataSorter Property="StartOfSalary" Direction="DESC" />
                        </Sorters>
                    </ext:Store>
                </Store>
                <ColumnModel ID="ColumnModelFamily" runat="server">
                    <Columns>
                        <ext:TemplateColumn ID="Col_AvatarUrl" runat="server" Text="Ảnh đại diện">
                            <Template ID="Template1" runat="server">
                                <Html>
                                    <img src="Avatars/{AvatarUrl}" style="width: 62px; height: 80px" />
                                </Html>
                            </Template>
                        </ext:TemplateColumn>
                        <ext:Column ID="Col_CodeChange" runat="server" Text="Mã thay đổi" DataIndex="CodeEmpChangeWork" />
                        <ext:Column ID="Col_NameOfSalary" runat="server" Text="Ngạch" DataIndex="NameOfSalary" Flex="1" />
                        <ext:Column ID="Col_LevelSalary" runat="server" Text="Bậc lương" DataIndex="LevelSalary"  />
                        <ext:Column ID="Col_NumberSalary" runat="server" Text="Hệ số lương" DataIndex="NumberSalary" />
                        <ext:Column ID="Col_AllowancesPostion" runat="server" Text="Phụ cấp chức vụ" DataIndex="AllowancesPostion" />
                        <ext:Column ID="Col_AllowancesOther" runat="server" Text="Phụ cấp khác" DataIndex="AllowancesOther" />
                        <ext:DateColumn ID="Col_StartOfSalary" runat="server" Text="Ngày bắt đầu" DataIndex="StartOfSalary" Format="dd/MM/yyyy" />
                        <ext:DateColumn ID="Col_EndOfWork" runat="server" Text="Ngày kết thúc" DataIndex="EndOfWork" Format="dd/MM/yyyy" />

                        <ext:CommandColumn ID="CommandColumnUpdate" runat="server" Width="30">
                            <Commands>
                                <ext:GridCommand Icon="NoteEdit" CommandName="Edit">
                                    <ToolTip Text="chỉnh sửa" />
                                </ext:GridCommand>
                            </Commands>
                            <Listeners>
                                <Command Handler="App.direct.Update_Clicked(record.data.EmpSalaryID);" />
                            </Listeners>
                        </ext:CommandColumn>
                        <ext:CommandColumn ID="CommandEdit" runat="server" Width="40">
                            <Commands>
                                <ext:GridCommand Icon="Delete" CommandName="Delete">
                                    <ToolTip Text="xóa" />
                                </ext:GridCommand>
                            </Commands>
                            <Listeners>
                                <Command Handler="App.direct.Delete_clicked(record.data.EmpSalaryID);" />
                            </Listeners>
                        </ext:CommandColumn>
                    </Columns>
                </ColumnModel>

                <SelectionModel>
                    <ext:RowSelectionModel ID="RowSelectionModelListEmpsBasic" runat="server" Mode="Single">
                        <DirectEvents>
                            <Select OnEvent="RowSelected" />
                        </DirectEvents>
                    </ext:RowSelectionModel>
                </SelectionModel>

                <BottomBar>
                    <ext:PagingToolbar ID="PagingToolbarFamily" runat="server" BeforePageText="Trang"
                        EmptyMsg="Chưa có dữ liệu" AfterPageText="trên  {0}"
                        DisplayMsg="Hiển thị bản ghi {0} - {1} trên tổng số {2}" RefreshText="Làm mới" LastText="Trang cuối"
                        NextText="Trang tiếp" PrevText="Trang trước" FirstText="Trang đầu" />
                </BottomBar>
            </ext:GridPanel>
        </Items>
    </ext:Panel>


    <%-- Hiển thị thông tin quan hệ gia đình của từng nhân viên --%>
    <div class="view-info-record">
        <h3 class="header-title">
            <ext:Label StyleHtmlCls="lable-message" StyleHtmlContent="true" ID="LabelViewInformations" runat="server"
                Text="Hiển thị thông tin"
                Icon="Information" />
        </h3>
        <div class="content-info">
            <table>
                <tr>
                    <td class="with-td-view-info">Mã thay  đổi công tác:</td>
                    <td>
                        <ext:Label ID="lblCodeEmpChangeWork" runat="server" />
                    </td>
                </tr>
                <tr>
                    <td class="with-td-view-info">Ngạch công chức:</td>
                    <td>
                        <ext:Label ID="lblNameOfSalary" runat="server" />
                    </td>
                </tr>
                <tr>
                    <td class="with-td-view-info">Mã ngạch:</td>
                    <td>
                        <ext:Label ID="lblCode" runat="server" />
                    </td>
                </tr>
                <tr>
                    <td class="with-td-view-info">Bậc lương:</td>
                    <td>
                        <ext:Label ID="lblLevelSalary" runat="server" />
                    </td>
                </tr>
                <tr>
                    <td class="with-td-view-info">Hệ số lương:</td>
                    <td>
                        <ext:Label ID="lblNumberSalary" runat="server" />
                    </td>
                </tr>
                <tr>
                    <td class="with-td-view-info">Phụ cấp chức vụ:</td>
                    <td>
                        <ext:Label ID="lblAllowancesPostion" runat="server" />
                    </td>
                </tr>
                <tr>
                    <td class="with-td-view-info">Phụ cấp khác:</td>
                    <td>
                        <ext:Label ID="lblAllowancesOther" runat="server" />
                    </td>
                </tr>
                <tr>
                    <td class="with-td-view-info">Ngày bắt đầu:</td>
                    <td>
                        <ext:Label ID="lblStartOfSalary" runat="server"  />
                    </td>
                </tr>
                <tr>
                    <td class="with-td-view-info">Ngày kết thúc:</td>
                    <td>
                        <ext:Label ID="lblEndOfWork" runat="server"  />
                    </td>
                </tr>
            </table>
        </div>
    </div>

    <%-- Form Add --%>
    <ext:Window
        ID="WindownAddEmpSalary"
        runat="server"
        Title="Thêm mới thông tin gia đình cán bộ nhân viên"
        Icon="Add"
        Width="380"
        Height="240"
        BodyStyle="background-image: url('../Themes/bg-main.png')"
        Modal="true"
        ShadowMode="Frame"
        Hidden="true"
        Resizable="false">
        <Content>
            <ext:FormPanel runat="server" ID="FormPanelAddEmpSalary" Unstyled="True">
                <Items>
                    <ext:Container ID="ContainerAddEmpSalary" runat="server">
                        <Items>
                            <ext:Toolbar ID="ToolbarAddFamily" runat="server">
                                <Items>
                                    <ext:Button ID="ButtonAddFamilySave" runat="server" Text="Lưu lại" Icon="DiskBlack">
                                        <Listeners>
                                            <Click Handler="if(#{FormPanelAddEmpSalary}.getForm().isValid()) {App.direct.EmployeeSalary_Add();}" />
                                        </Listeners>
                                    </ext:Button>
                                    <ext:Button ID="ButtonAddFamilyReset" runat="server" Text="Làm mới" Icon="ArrowRefresh">
                                        <Listeners>
                                            <Click Handler="#{FormPanelAddEmpSalary}.getForm().reset();" />
                                        </Listeners>
                                    </ext:Button>
                                    <ext:Button ID="ButtonAddFamilyClose" runat="server" Text="Hủy bỏ" Icon="ErrorDelete">
                                        <Listeners>
                                            <Click Handler="#{WindownAddEmpSalary}.close();" />
                                        </Listeners>
                                    </ext:Button>
                                </Items>
                            </ext:Toolbar>
                            <ext:Container runat="server" ID="ContainerAddFamilyInfor" MarginSpec="10 0 10 5">
                                <Items>

                                    <ext:TextField ID="TextAddCodeEmpChangeWork" runat="server" FieldLabel="Mã công tác"
                                        Width="350" LabelWidth="150" BlankText="Mã công tác không được để trống"
                                        AllowBlank="false" />
                                    <ext:SelectBox
                                        DisplayField="NameOfSalary"
                                        ValueField="SaLevID"
                                        ID="cbxAddSalary"
                                        runat="server"
                                        FieldLabel="Ngạch lương"
                                        EmptyText="Lựa chọn"
                                        Width="350"
                                        LabelWidth="150">
                                        <Store>
                                            <ext:Store runat="server" ID="StoreSalary">
                                                <Model>
                                                    <ext:Model ID="Model1" runat="server" IDProperty="SaLevID">
                                                        <Fields>
                                                            <ext:ModelField Name="SaLevID" />
                                                            <ext:ModelField Name="NameOfSalary" />
                                                        </Fields>
                                                    </ext:Model>
                                                </Model>
                                            </ext:Store>
                                        </Store>
                                    </ext:SelectBox>
                                    <ext:TextField ID="TextAddAllowancesPostion" runat="server" FieldLabel="Phụ cấp chức vụ"
                                        Width="350" LabelWidth="150" BlankText="Phụ cấp chức vụ không được để trống"
                                        AllowBlank="false" InputType="Number"  />

                                    <ext:TextField ID="TextAddAllowancesOther" runat="server" FieldLabel="Phụ cấp khác"
                                        Width="350" LabelWidth="150" BlankText="Phụ cấp khác không được để trống"
                                        AllowBlank="false" InputType="Number" />

                                    <ext:DateField ID="TextAddStartOfSalary" runat="server" FieldLabel="Ngày bắt đầu"
                                        Width="350" LabelWidth="150" BlankText="Ngày bắt đầu không được để trống"
                                        AllowBlank="false" />

                                    <ext:DateField ID="TextAddEndOfWork" runat="server" FieldLabel="Ngày kết thúc"
                                        Width="350" LabelWidth="150" BlankText="Ngày kết thúc không được để trống"
                                        AllowBlank="false" />

                                </Items>
                            </ext:Container>
                        </Items>
                    </ext:Container>
                </Items>
            </ext:FormPanel>
        </Content>
    </ext:Window>


    <%-- Form update --%>
    <ext:Window
        ID="WindowUpdateEmpSalary"
        runat="server"
        Title="Cập nhật thông tin gia đình cán bộ nhân viên"
        Icon="Add"
        Width="380"
        Height="240"
        BodyStyle="background-image: url('../Themes/bg-main.png')"
        Modal="true"
        ShadowMode="Frame"
        Hidden="true"
        Resizable="false">
        <Content>
            <ext:FormPanel runat="server" ID="FormPaneUpdateEmpSalary" Unstyled="True">
                <Items>
                    <ext:Container ID="Container1" runat="server">
                        <Items>
                            <ext:Toolbar ID="Toolbar2" runat="server">
                                <Items>
                                    <ext:Button ID="ButtonUpdateSave" runat="server" Text="Lưu lại" Icon="DiskBlack">
                                        <Listeners>
                                            <Click Handler="if(#{FormPaneUpdateEmpSalary}.getForm().isValid()) {App.direct.EmployeesSalaryLevel_Update();}" />
                                        </Listeners>
                                    </ext:Button>
                                    <ext:Button ID="ButtonUpdateReset" runat="server" Text="Làm mới" Icon="ArrowRefresh">
                                        <Listeners>
                                            <Click Handler="#{FormPaneUpdateEmpSalary}.getForm().reset();" />
                                        </Listeners>
                                    </ext:Button>
                                    <ext:Button ID="ButtonUpdateCancel" runat="server" Text="Hủy bỏ" Icon="ErrorDelete">
                                        <Listeners>
                                            <Click Handler="#{WindowUpdateEmpSalary}.close();" />
                                        </Listeners>
                                    </ext:Button>
                                </Items>
                            </ext:Toolbar>
                            <ext:Container runat="server" ID="Container2" MarginSpec="10 0 10 5">
                                <Items>
                                    <ext:TextField ID="TextUpdateCodeEmpChangeWork" runat="server" FieldLabel="Mã công tác"
                                        Width="350" LabelWidth="150" BlankText="Mã công tác không được để trống"
                                        AllowBlank="false" />
                                    <ext:SelectBox
                                        DisplayField="NameOfSalary"
                                        ValueField="SaLevID"
                                        ID="SelectSalaryLevel"
                                        runat="server"
                                        FieldLabel="Ngạch lương"
                                        EmptyText="Lựa chọn"
                                        Width="350"
                                        LabelWidth="150">
                                        <Store>
                                            <ext:Store runat="server" ID="StoreUpdateSalaryLevel">
                                                <Model>
                                                    <ext:Model ID="Model2" runat="server" IDProperty="SaLevID">
                                                        <Fields>
                                                            <ext:ModelField Name="SaLevID" />
                                                            <ext:ModelField Name="NameOfSalary" />
                                                        </Fields>
                                                    </ext:Model>
                                                </Model>
                                            </ext:Store>
                                        </Store>
                                    </ext:SelectBox>
                                    <ext:TextField ID="TextUpdateAllowancesPostion" runat="server" FieldLabel="Phụ cấp chức vụ"
                                        Width="350" LabelWidth="150" BlankText="Phụ cấp chức vụ không được để trống"
                                        AllowBlank="false" InputType="Number"  />

                                    <ext:TextField ID="TextUpdateAllowancesOther" runat="server" FieldLabel="Phụ cấp khác"
                                        Width="350" LabelWidth="150" BlankText="Phụ cấp khác không được để trống"
                                        AllowBlank="false" InputType="Number" />

                                    <ext:DateField ID="TextUpdateStartOfSalary" runat="server" FieldLabel="Ngày bắt đầu"
                                        Width="350" LabelWidth="150" BlankText="Ngày bắt đầu không được để trống"
                                        AllowBlank="false" Format="dd/MM/yyyy" />

                                    <ext:DateField ID="TextUpdateEndOfWork" runat="server" FieldLabel="Ngày kết thúc"
                                        Width="350" LabelWidth="150" BlankText="Ngày kết thúc không được để trống"
                                        AllowBlank="false" Format="dd/MM/yyyy" />

                                </Items>
                            </ext:Container>
                        </Items>
                    </ext:Container>
                </Items>
            </ext:FormPanel>
        </Content>
    </ext:Window>

    <ext:TextField runat="server" ID="TextEmpSalaryIDUpdate" Hidden="true" />
    <script>
        //Định dạng giới tính kiểu boolean và trả về giá trị giới tính string 'Nam' 'Nữ'
        var typeRelationFormat = function (value) {
            return Ext.String.format('{0}', (value == 1 || value == 'true') ? "Về bản thân" : "Bên vợ hoặc chồng");
        };
    </script>
</asp:Content>
